// Copyright (C) 2021 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
description: >
  compareArray can handle any value in message arg
includes: [compareArray.js]
features: [BigInt, Symbol]
---*/

function Test() {
    assert.compareArray([], [], true);
    assert.compareArray([], [], 1);
    assert.compareArray([], [], 1n);
    assert.compareArray([], [], () => {});
    assert.compareArray([], [], "test262");
    assert.compareArray([], [], Symbol("1"));
    assert.compareArray([], [], {});
    assert.compareArray([], [], []);
    assert.compareArray([], [], -1);
    assert.compareArray([], [], Infinity);
    assert.compareArray([], [], -Infinity);
    assert.compareArray([], [], 0.1);
    assert.compareArray([], [], -0.1);
}

// preheat
const NUMBER_OF_PREHEAT = 1;
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}

ArkTools.jitCompileAsync(Test);
assert.sameValue(ArkTools.waitJitCompileFinish(Test), true, '[JIT] JIT disabled.');

// test
const NUMBER_OF_TEST = 1; // or 2
for (let i = 0; i < NUMBER_OF_TEST; i++) {
    Test();
}
